package com.ear.orange.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ear.orange.entity.AddressBook;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author orange
 */
@Mapper
public interface AddressBookMapper extends BaseMapper<AddressBook> {

    /**
     * 将用户所有订单设为不默认
     *
     * @param userId 用户Id
     */
    void setDefaultAddress(@Param("userId") Long userId);

    /**
     * 将用户订单设为默认
     *
     * @param userId 用户Id
     * @param id     订单
     */
    void updateDefaultAddress(@Param("userId") Long userId, @Param("id") Long id);

    /**
     * 通过id查询地址信息
     *
     * @param id 地址id
     * @return 地址信息
     */
    AddressBook getAddressById(@Param("id") Long id);

    /**
     * 查询当前登录用户的默认地址信息
     *
     * @param userId 当前登录用户id
     * @return 地址信息
     */
    AddressBook getDefaultAddress(@Param("userId") Long userId);

    /**
     * 查询当前登录用户的地址信息集合
     *
     * @param userId 当前登录用户id
     * @return
     */
    List<AddressBook> getUserAddressList(@Param("userId") Long userId);

    /**
     * 修改地址信息
     *
     * @param addressBook 修改内容
     * @return 是否修改
     */
    Boolean updateInfo(AddressBook addressBook);
}
